<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/common/context.jsp"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>用户管理</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="<%=path%>/common/script/context.js" type="text/javascript"></script>
<script src="<%=path%>/common/script/context_table.js" type="text/javascript"></script>
<script type="text/javascript">

var _table;
$(function (){
	var $wrapper = $('#div-table-container');
	var $table = $('#table-general');
	
	_table = $table.dataTable($.extend(true,{
	},CONSTANT.DATA_TABLES.DEFAULT_OPTION, {
		ajax : function(data, callback, settings) {//ajax配置为function,手动调用异步查询
			//手动控制遮罩
			$wrapper.spinModal();
			//封装请求参数
			var param = GeneralManage.getQueryCondition(data);
			$.ajax({
		            type: "POST",
		            url: "findUsers_users.action?users.depId=<s:property value='users.depId'/>",
		            cache : false,	//禁用缓存
		            data: param,	//传入已封装的参数
		            dataType: "json",
		            success: function(result) {
		            	//setTimeout仅为测试遮罩效果
		            	setTimeout(function(){
		            		//异常判断与处理
		            		if (result.errorCode) {
		            			
		            			return;
							}
		            		
		            		//封装返回数据，这里仅修改属性名
		            		var returnData = {};
			            	returnData.draw = data.draw;//这里直接自行返回了draw计数器,应该由后台返回
			            	returnData.recordsTotal = result.total;
			            	returnData.recordsFiltered = result.total;//后台不实现过滤功能，每次查询均视作全部结果
			            	returnData.data = result.pageData;
			            	//关闭遮罩
			            	$wrapper.spinModal(false);
			            	//调用DataTables提供的callback方法，代表数据已封装完成并传回DataTables进行渲染
			            	//此时的数据需确保正确无误，异常判断应在执行此回调前自行处理完毕
			            	callback(returnData);
		            	},200);
		            },
		            error: function(XMLHttpRequest, textStatus, errorThrown) {
		               
		                $wrapper.spinModal(false);
		            }
		        });
		},
        columns: [
            CONSTANT.DATA_TABLES.COLUMN.CHECKBOX,
			
			{
				className : "ellipsis",
				data : "userName",
				render:convertName,
				orderable : false
			},
			{	
				data : "userChinesename",
				width : "15%",
				orderable : false
			},
			{	
				data : "depName",
				width : "20%",
				orderable : false
			},
			{	
				data : "phoneNum",
				width : "15%",
				orderable : false
			},
			{	
				data : "email",
				width : "15%",
				orderable : false
			},
			{	
				data : "isUsable",
				width : "15%",
				render:convertIsUsable,
				orderable : false
			}
        ],
        "createdRow": function ( row, data, index ) {
        	//行渲染回调,在这里可以对该行dom元素进行任何操作
        	//给当前行加样式
        	if (data.role) {
        		$(row).addClass("info");
			}
        	
            //给当前行某列加样式
        	$('td', row).eq(6).addClass(data.isUsable!="0"?"text-error":"text-success");
            
        },
        "drawCallback": function( settings ) {
        	//渲染完毕后的回调
        	//清空全选状态
			$(":checkbox[name='cb-check-all']",$wrapper).prop('checked', false);
        	//默认选中第一行
        	$("tbody tr",$table).eq(0).click();
        }
	})).api();//此处需调用api()方法,否则返回的是JQuery对象而不是DataTables的API对象

    
    
	
	
	$("#btn-advanced-search").click(function(){
		_table.draw();
	});
	$("#btn-add").click(function(){
		GeneralManage.addItemInit();
	});
	
	$("#btn-edit").click(function(){
		var arrItemId = [];
        $("tbody :checkbox:checked",$table).each(function(i) {
        	var item = _table.row($(this).closest('tr')).data();
        	arrItemId.push(item);
        });
		GeneralManage.editItemInit(arrItemId);
	});
	
	$("#btn-del").click(function(){
		var arrItemId = [];
        $("tbody :checkbox:checked",$table).each(function(i) {
        	var item = _table.row($(this).closest('tr')).data();
        	arrItemId.push(item);
        });
		GeneralManage.deleteItem(arrItemId);
	})
	//重置密码
	$("#btn-processCancel").click(function(){
		var arrItemId = [];
        $("tbody :checkbox:checked",$table).each(function(i) {
        	var item = _table.row($(this).closest('tr')).data();
        	arrItemId.push(item);
        });
		GeneralManage.numberItems(arrItemId);
	});
	//导入excel
	$("#btn-daoru").click(function(){
		GeneralManage.daoruItems();
	});
	//导出excel
	$("#btn-daochu").click(function(){
		GeneralManage.daochuItems();
	});
	
	
	
	//行点击事件
	$("tbody",$table).on("click","tr",function(event) {
		$(this).addClass("active").siblings().removeClass("active");
    	//!$(event.target).is(":checkbox") && $(":checkbox",this).trigger("click");
		//获取该行对应的数据
		//var item = _table.row($(this).closest('tr')).data();
		//GeneralManage.currentItem = item;
    });
	
	$table.colResizable();$table.on("change",":checkbox",function() {
		if ($(this).is("[name='cb-check-all']")) {
			//全选
			$(":checkbox",$table).prop("checked",$(this).prop("checked"));
		}else{
			//一般复选
			var checkbox = $("tbody :checkbox",$table);
			$(":checkbox[name='cb-check-all']",$table).prop('checked', checkbox.length == checkbox.filter(':checked').length);
		}
    }).on("click",".td-checkbox",function(event) {
    	//点击单元格即点击复选框
    	!$(event.target).is(":checkbox") && $(":checkbox",this).trigger("click");
    })
	
	$("#toggle-advanced-search").click(function(){
		$("i",this).toggleClass("icon-search icon-circle-arrow-up");
		$("#div-advanced-search").slideToggle("fast");
	});
	
	$("#btn-info-content-collapse").click(function(){
		$("i",this).toggleClass("fa-minus fa-plus");
		$("span",this).toggle();
	});
	
});
		

var GeneralManage = {
	currentItem : null,
	getQueryCondition : function(data) {
		var param = {};

		//组装排序参数 
		//默认进入的排序
		 param.orderColumn="de.userId";
		if (data.order&&data.order.length&&data.order[0]) {
			switch (data.order[0].column) {
			case 1:
				param.orderColumn = "de.userId";
				break;
			
			}
			param.orderDir = data.order[0].dir;
		}
		
		//组装查询参数
		
		param.userChinesename = $("#userChinesename").val();
		param.isUsable = $("#isUsable").val();
		
		//组装分页参数
		param.startIndex = data.start;
		param.pageSize = data.length;
		
		param.draw = data.draw;
		
		return param;
	},
	// 新增
	addItemInit: function()  {
		var depId = $('#deptId').val();
		 window.location.href= "saveUsersInit_users.action?users.depId="+depId;	
	   //createdetailwindow("新增用户","saveUsersInit_users.action?users.depId="+depId,1);	    
	},
	//修改
	editItemInit: function(selectedItems)  {
		var v = selectedItems;
	  if(v.length == 0){
	      showMsg("alert","温馨提示：请选择要修改的信息!");
	    }
	    else if(v.length > 1){
	    	showMsg("alert","温馨提示：只能选择一条信息修改！");
	    } else{
	   		var ids = v[0].userId;
	            var depId = $('#deptId').val();
	            var isUsable = $('#isUsable').val();
	            var chinesename = $('#userChinesename').val();
	            var userId = ids;
	            
	           window.location.href = 'updateUsersInit_users.action?users.userId='+userId+'&departments.depId='+depId+'&users.isUsable='+isUsable+'&users.userChinesename='+chinesename;
		      
	     }
	       
	    	 
	},
	//删除
	deleteItem : function(selectedItems) {
		var v = selectedItems;
		var depId = $('#departId').val();
	    var isUsable = $("#isUsable").val();	//人员所处的在职状态
	        
   		var ids = "";
		for(var i=0;i<v.length;i++){
			if(i == (v.length-1)){
				ids += v[i].userId;
			}else{
				ids += v[i].userId + ",";
			}
		}
        	// showMsg("alert","ids----"+ids);
        if(ids!=""){
            
             $.dialog.confirm("温馨提示：你确定要删除选中的信息！",function(){
				  var result = ajaxGeneral("deleteUsers_users.action","id=" + ids + "&departments.depId=" + depId + "&isUsable=" + isUsable,"text");
					   //showMsg('success',''+result+'',function(){
					   		doQuery();							
		   					//});
				   	 	});
         }else{
            showMsg("alert",'温馨提示：请选择要删除信息！');
         }
	},
	//导入excel
	daoruItems:function(){
	
		$("#title").val("用户信息导入");
		$("#name").val("用户信息导入模板.xls");
		$("#url").val("/mps/common/template/importTemplate/manpower.xls");
		$("#submitUrl").val("saveExcelUtilUsers_users.action");
		
		var reValue=createdetailwindow("导入用户信息","Template_ImportAction.action",1);
		
		if(reValue!=null){
			document.forms[0].submit();
		}
			
	},
	//导出excel
	daochuItems:function(){
		 var depId = $("#departId").val();
			var isUsable = $("#isUsable").val();
			var name = $("#userChinesename").val();
			window.location.href = "expUsers_users.action?departments.depId=" + depId + "&users.isUsable=" + isUsable + "&users.userChinesename=" + name;
			
	},
	//重置密码
	numberItems:function(selectedItems){
		var v = selectedItems;
		var depId = document.getElementById("deptId").value;
	      	if(v.length == 0){
	      	showMsg("alert","温馨提示：请选择要重置密码的用户!");
	      	}
		    if(v.length > 1){
		    	showMsg("alert","温馨提示：只能选择一条信息重置！");
		    }else{
		   		var ids = v[0].userId;
		   		
		   		 var url = "resetUsers_users.action?userId="+ids;
		         
		           // showMsg("alert","密码重置成功，为默认密码!");
	   			  $.dialog.confirm("温馨提示：确定重置密码！",function(){
			   			 location.href=url;
				   		
			   	 	});
		    }
	}
	
};
    function convertIsUsable(data, type, row,   meta){
		var isUsable = "";
		if(row.isUsable == "0"){isUsable = "有效";}
		if(row.isUsable == "1"){isUsable = "无效";}
		return isUsable;
	}
	//查看
	function convertName(data, type, row,   meta){
		 return "<a onclick=\"createdetailwindow('用户基本信息','viewUsersDetail_users.action?users.userId="+row.userId+"&departments.depId="+row.depId+"',2)\" title='"+data+"'>"+data+"</a>"; 
	}
	
    function doQuery(){
     _table.draw();
    }

	//重置
	function doReset(){        
		document.forms[0].elements["userChinesename"].value	=	"";	
		document.forms[0].elements["isUsable"].value	=	"";
	}
</script>
</head>
<body >
<input type="hidden" name="" id="title" value="" />
<input type="hidden" name="" id="name" value="" />
<input type="hidden" name="" id="url" value="" />
<input type="hidden" name="" id="submitUrl" value="" />
<div class="container-fluid">
		<div class="row-fluid">
			<div class="span12" id="content">
				<div class="row-fluid">
					<div class="span12">
						<div class="btn-toolbar">
							<div class="pull-right">
								<div class="input-append">
									<div class="btn-group">
										<button type="button" class="btn btn-warning" title="查询区域" id="toggle-advanced-search">
											<i class="icon-white icon-search"></i>
										</button>
										<button type="button" class="btn btn-warning" title="刷新" id="toggle-advanced-refresh" onclick="doQuery()">
											 <i class="icon-white icon-refresh"></i>
										</button>
									</div>
								</div>
							</div>
							<button type="button" class="btn btn-info" id="btn-add"><i class="icon-white icon-plus-sign"></i> 新增</button>
							<button type="button" class="btn btn-info" id="btn-edit"><i class="icon-white icon-edit"></i> 修改</button>
							<button type="button" class="btn btn-danger" id="btn-del"><i class="icon-white icon-trash"></i> 删除</button>
						   
							<button type="button" class="btn btn-warning" id="btn-processCancel"><i class="icon-white icon-resize-full"></i> 重置密码</button>
							<!-- <button type="button" class="btn btn-info" id="btn-daoru"><i class="icon-white icon-arrow-down"></i> 导入Excel</button> -->
							<!-- <button type="button" class="btn btn-info" id="btn-daochu"><i class="icon-white icon-share"></i> 导出Excel</button> -->
						   
						</div>
					</div>
				</div>
				<div class="row-fluid" style="display:none;" id="div-advanced-search">
					<form class="form-inline well">
						<input type="hidden" value="<s:property value='users.depId' />" id="deptId"/>
						<input type="hidden" value="" id="selflevCode"/>
						<input type="hidden" id="ids" name="ids" value="<s:property value='ids'/>" />
						   
						   员工姓名：<input type="hidden" id="departId" name="departments.depId" value="<s:property value="departments.depId" />" />
						   <input type='text' placeholder="员工姓名"class="input-medium" id="userChinesename" name="users.userChinesename"  onfocus="matchInput(this,'choose1_commonData.action');"  value="<s:property value="users.userChinesename" />"/>&nbsp; 
						   当前状态：
						   <select id="isUsable" class="input-small">
						   		<option value = "">--请选择--</option>
						   		<option value = "0">有效</option>
						   		<option value = "1">无效</option>
						   </select>
							  <button type="button" class="btn btn-info" id="btn-advanced-search"  ><i class="icon-white icon-search"></i> 查询</button>
						      <button type="button" class="btn btn-cacel" id="btn-advanced-cacel" onclick="doReset();"><i class="icon-info-sign"></i> 重置</button>
						
					</form>
				</div>
				<div class="row-fluid">
					<div class="span12" id="div-table-container">
						<table class="table table-striped table-bordered table-hover table-condensed" id="table-general" cellspacing="0" width="100%">
							<thead>
								<tr>
									<th>
										<input type="checkbox"  name="cb-check-all"/>
									</th>
									<th>登录名</th>
									<th>姓名</th>
									<th>部门名称</th>
									<th>手机号</th>
									<th>Email</th>
									<th>当前状态</th>
								</tr>
							</thead>
							<tbody>
							</tbody>							
						</table>
					</div>
				</div>
			</div>
		</div>
	</div>
</body>
</html>